//
//  User.swift
//  LVWeibo
//
//  Created by lv on 15/6/30.
//  Copyright © 2015年 lv. All rights reserved.
//

import UIKit

class User: NSObject {
    
    /// 用户UID
    var id: Int = 0
    /// 友好显示名称
    var name: String?
    /// 用户头像地址（中图），50×50像素
    var profile_image_url: String? {
        didSet {
            profile_URL = NSURL(string: profile_image_url!)
        }
    }
    /// 头像URL
    var profile_URL: NSURL?
    /// 是否是微博认证用户，即加V用户，true：是，false：否
    var verified: Bool = false
    /// 认证类型 -1：没有认证，0，认证用户，2,3,5: 企业认证，220: 达人
    var verified_type: Int = -1
    
    /// 认证图标
    var verified_image: UIImage? {
        switch verified_type {
            case 0:
            return UIImage(named: "avatar_vip")
            case 2,3,5:
            return UIImage(named: "avatar_enterprise_vip")
            case 220:
            return UIImage(named: "avatar_grassroot")
            default:
            return nil
        }
    }
    /// 会员等级
    var mbrank: Int = 0
    /// 会员图片
    var mbImage: UIImage? {
        if mbrank > 0 && mbrank < 7 {
           return UIImage(named: "common_icon_membership_level\(mbrank)")
        }
        return nil
    }
    
    ///  属性数组
    private static let properties = ["id","name","profile_image_url","verified","verified_type","mbrank"]
    
    //MARK:- 字典转模型
    init(dict: [String: AnyObject]) {
        super.init()
        for key in User.properties {
            if dict[key] != nil {
                setValue(dict[key], forKey: key)
            }
        }
    }
    
    //MARK:- 打印对象信息
    override var description: String {
        let value = dictionaryWithValuesForKeys(User.properties)
        return "\(value)"
    }
}
